The present invention relates generally to the altering of an operating system start-up sequence in a computer system or electronic device. More particularly, the present invention relates to the altering of an operating system start-up sequence prior to the loading of the operating system.
The xe2x80x9cboot sequencexe2x80x9d of a computer is generally executed when power is first applied to the computer. The boot sequence may also be initiated when the computer is instructed to return to operation when the user reboots the computer. The boot sequence is controlled by the Basic Input Output System (BIOS) of the computer. The BIOS typically resides in Read Only Memory (ROM). The BIOS performs a sequence of steps prior to transferring control of system resources to the operating system. One of the steps performed by BIOS during this initial time period is a xe2x80x9cPower On Self Testxe2x80x9d, also known as xe2x80x9cPOSTxe2x80x9d. The POST checks that various computer parts such as the keyboard, power supply, system board, system memory, memory modules controllers, graphic system, diskette drives and hard drives are functioning properly. Following the completion of the POST, conventional computers load an operating system, or pieces thereof, into memory and then transfer control of the computer to the operating system. Electronic devices containing an operating system and a BIOS also follow this same sequence of events to begin operation, even though the components in the electronic devices may be different from the components found in a computer.
The selection of what applications to load and the order in which the applications are loaded by the operating system (xe2x80x9cthe start-up sequencexe2x80x9d) is determined by examining one or more start-up data structures maintained by the operating system. Although the applications to be started, and the order in which the applications are started, may be altered, conventional methods of doing so are cumbersome and/or error-prone procedures that require careful editing of the start-up data structures. Also, since start-up data structures are maintained by the operating system, it is difficult to alter them without the operating system being loaded. As a result, it is not practical using conventional methods to condition the list of start-up applications on transient events occurring during the boot sequence. Thus, in a conventional computer system or electronic device utilizing an operating system with BIOS, the list of start-up applications is generally changed once the operating system has already been loaded into memory.
The illustrative embodiment of the present invention provides a method for altering the start-up sequence of an operating system prior to the loading of the operating system. The method enables changes to be made to the start-up sequence of processes and applications initiated by the operating system based upon the occurrence of a designated event during the BIOS boot sequence. An application is initiated during BIOS to check for the occurrence of the designated event. Upon the occurrence of the designated event, the application writes instructions altering the operating system start-up sequence to a storage area accessible to the operating system. After the completion of the BIOS boot sequence, the BIOS loads the operating system. The operating system launches a second application which immediately checks a storage area to see if the storage area contains instructions to alter the start-up sequence and proceeds accordingly. If the start-up sequence has been changed, the new start-up sequence is used; otherwise an existing start-up sequence is executed. The second application also may write instructions to a storage area accessible to the first application designating a particular event to be checked during the next BIOS boot sequence. In this manner, events occurring prior to operating system loading affect the operating system start up sequence. Similarly, an application executed by the operating system may write instructions directing the procedures carried out during the subsequent BIOS boot sequence.
In one embodiment of the present invention, a method is provided for use with a computer system to alter the operating system start-up sequence during the BIOS boot sequence. This altering of the operating system start-up sequence occurs prior to loading of the operating system. An application is initiated by the BIOS and retrieves instructions from a storage area. The instructions direct the application to look for the occurrence of an event during the BIOS boot sequence. Upon occurrence of the event, the application may write instructions to another storage area which alter the start-up sequence of the operating system. The application then terminates and the BIOS loads the operating system. Prior to beginning the start-up sequence, the operating system initiates an application that checks a storage area for instructions altering the start-up sequence of the operating system. If the instructions are found, a new start-up sequence for the operating system is conducted. If the instructions are not found, the operating system executes the existing start-up sequence. The application launched by the operating system also may write instructions to the storage area accessed by the BIOS-launched application in order to designate a particular event as the conditional trigger to alter the operating system start-up sequence.
In a different embodiment of the present invention, a method is provided for use with an electronic device to alter the operating system start-up sequence during the BIOS boot sequence. This altering of the start-up sequence occurs prior to loading the operating system. An application is initiated by the BIOS and retrieves instructions from a storage area. The instructions direct the application to look for the occurrence of a particular event during the BIOS boot sequence. Upon occurrence of the particular event, the application may write instructions to another storage area which alter the start-up sequence of the operating system. The application then terminates and the BIOS loads the operating system. Prior to beginning its start-up sequence, the operating system initiates an application which checks the specific storage area for instructions altering the start-up sequence of the operating system. If the instructions are found, a new start-up sequence for the operating system is conducted. If the instructions are not found, the operating system executes its existing start-up sequence. The application launched by the operating system also may write instructions to the storage area accessed by the BIOS-launched application in order to designate a particular event as the conditional trigger to alter the operating system start-up sequence.